﻿using Serilog.Formatting.Json;
using Serilog;
using Microsoft.VisualBasic;
using static System.Runtime.InteropServices.JavaScript.JSType;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Debug() // 设置最低日志级别为Debug
            .WriteTo.Console()    // 将日志输出到控制台
            .CreateLogger();

        Log.Debug("Debug message");       // 将被记录
        Log.Information("Info message");  // 将被记录
        Log.Warning("Warning message");   // 将被记录
        Log.Error("Error message");       // 将被记录
        Log.Fatal("Fatal message");       // 将被记录
        Log.Verbose("Verbose message");   // 不会被记录

        Log.CloseAndFlush(); // 关闭日志记录器并刷新日志消息

        //日志级别的重要性从低到高的顺序
        // Verbose -> Debug -> Information -> Warning -> Error -> Fatal
        #region 描述
       //Verbose：用于提供详细的诊断信息，通常在开发和调试阶段使用，对于正常运行的应用程序来说，这些日志可能会很冗长。
       //Debug：用于调试信息，比Verbose等级更高，但不应该出现在生产环境中。
       //Information：用于记录应用程序的正常运行信息，如启动、停止、操作成功等。
       //Warning：用于记录可能会导致潜在问题的警告信息，但不会影响应用程序的正常运行。
       //Error：用于记录错误信息，表示应用程序遇到了一些问题，但仍然可以继续运行。
       //Fatal：用于记录严重错误信息，表示应用程序遇到了无法继续运行的致命错误
        #endregion
    }
}
